package com.iceclean.dao;

import com.iceclean.po.PostBrowsing;

import java.util.List;

/**
 * @author : Ice'Clean
 * @date : 2021-05-08
 *
 * 贴子浏览表操作接口
 */
public interface PostBrowsingDao {

    /**
     * 创建新的贴子浏览记录
     * @param postBrowsing 浏览记录对象
     * @return 新浏览记录 id，创建失败返回 -1
     */
    int createPostBrowsing(PostBrowsing postBrowsing);

    /**
     * 根据浏览记录 id 寻找浏览记录
     * @param postBrowsingId 浏览记录 id
     * @return 对应的浏览记录实例对象
     */
    PostBrowsing findPostBrowsingById(int postBrowsingId);

    /**
     * 通过页数寻找指定用户的历史浏览
     * @param userId 所属用户
     * @param page 页数
     * @param num 每页的数目
     * @return 符合条件的贴子
     */
    List<PostBrowsing> findBrowsingByPage(int userId, int page, int num);

    /**
     * 获取指定用户历史浏览的数量
     * @param userId 指定的用户
     * @return 所有贴子数
     */
    int getNumberOfAllBrowsing(int userId);

    /**
     * 清空用户的历史浏览记录
     * @param userId 用户的 id
     * @return 是否删除成功
     */
    boolean deleteUserBrowsing(int userId);

    /**
     * 删除用户历史浏览中指定贴子 id 的记录
     * @param userId 用户 id
     * @param postId 贴子 id
     * @return 是否删除成功
     */
    boolean deleteUserBrowsingByPostId(int userId, int postId);
}
